/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Usuarios;

import java.sql.SQLException;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author humberto
 */
public class cUsuario {

    private int codigo;
    private String dni;
    private String pNombre;
    private String sNombre;
    private String pApellido;
    private String sApellido;
    private String tipo;
    private String usuario;
    private String password;
    
    private bdUsuarios baseDatos;

    public cUsuario() {
    }


    public cUsuario(int codigo, String dni, String pNombre, String sNombre, String pApellido, 
            String sApellido,String tipo, String usuario, String password) {
        
        this.codigo = codigo;
        this.dni = dni;
        this.pNombre = pNombre;
        this.sNombre = sNombre;
        this.pApellido = pApellido;
        this.sApellido = sApellido;
        this.tipo=tipo;
        this.usuario = usuario;
        this.password = password;
    }
    
     public cUsuario(String dni, String pNombre, String sNombre, String pApellido, 
            String sApellido,String tipo, String usuario, String password) {
        
        this.dni = dni;
        this.pNombre = pNombre;
        this.sNombre = sNombre;
        this.pApellido = pApellido;
        this.sApellido = sApellido;
        this.tipo=tipo;
        this.usuario = usuario;
        this.password = password;
    }

    public int getCodigo() {
        return codigo;
    }

    public void setCodigo(int codigo) {
        this.codigo = codigo;
    }

    public String getDni() {
        return dni;
    }

    public void setDni(String dni) {
        this.dni = dni;
    }

    public String getpApellido() {
        return pApellido;
    }

    public void setpApellido(String pApellido) {
        this.pApellido = pApellido;
    }

    public String getpNombre() {
        return pNombre;
    }

    public void setpNombre(String pNombre) {
        this.pNombre = pNombre;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getsApellido() {
        return sApellido;
    }

    public void setsApellido(String sApellido) {
        this.sApellido = sApellido;
    }

    public String getsNombre() {
        return sNombre;
    }

    public void setsNombre(String sNombre) {
        this.sNombre = sNombre;
    }

    public String getTipo() {
        return tipo;
    }

    public void setTipo(String tipo) {
        this.tipo = tipo;
    }

    public String getUsuario() {
        return usuario;
    }

    public void setUsuario(String usuario) {
        this.usuario = usuario;
    }
    
    /*INTERACCION CON LA BD*/
    
    public boolean agregarUsuario(){
        
        try {
            return bdUsuarios.agregarUsuario(this);
        } catch (SQLException ex) {
            Logger.getLogger(cUsuario.class.getName()).log(Level.SEVERE, null, ex);
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(cUsuario.class.getName()).log(Level.SEVERE, null, ex);
        }
        
        
        return false;
        
    }
    
    
    public boolean editarUsuario(){
        
        try {
            return bdUsuarios.editarUsuario(this);
        } catch (SQLException ex) {
            Logger.getLogger(cUsuario.class.getName()).log(Level.SEVERE, null, ex);
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(cUsuario.class.getName()).log(Level.SEVERE, null, ex);
        }
        
        
        return false;
        
    }
    
    public static Vector<Vector<String>> seleccionarTodo() throws SQLException, ClassNotFoundException{
        return bdUsuarios.seleccionarTodo();
    }
    
    public boolean acceder(String us, String pass){
        
        try {
            return bdUsuarios.acceder(us, pass);
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(cUsuario.class.getName()).log(Level.SEVERE, null, ex);
        } catch (SQLException ex) {
            Logger.getLogger(cUsuario.class.getName()).log(Level.SEVERE, null, ex);
        }
        
        return false;
    }
    
    public boolean eliminar(int codigo){
        
        try {
            if(bdUsuarios.eliminarUsuario(codigo)){
            return true;
            }
        } catch (SQLException ex) {
            Logger.getLogger(cUsuario.class.getName()).log(Level.SEVERE, null, ex);
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(cUsuario.class.getName()).log(Level.SEVERE, null, ex);
        }
    return false;
    }
    
    public boolean esAdministrador(String us, String pass){
    
        try {
            if(bdUsuarios.esAdministradorUsuario(us,pass)){
            return true;
            }
        } catch (SQLException ex) {
            Logger.getLogger(cUsuario.class.getName()).log(Level.SEVERE, null, ex);
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(cUsuario.class.getName()).log(Level.SEVERE, null, ex);
        }
    return false;
    }
    
 }
    
    
    
    



